目前嵌入式軟體,大部分都是燒錄在DDR或SDRAM上面,過去的韌體燒錄,非常麻煩,常常會失敗,目前大概失敗率已經沒有那麼高了,而且也可以透過FTP或網路下載的方式完成,實際上都已經簡化很多了。舉例來說,我們目前硬體廠商都會通知更新,很多人如果想更新主機板或是硬體設備的更新,通常會自動通知更新,然後連上官網,直接下載,完成更新。然而,其實這個過程當中,通常會包含三個初始化的過程:硬體初始化、OS初始化以及應用端的初始化三種。當然下載更新的時候,也會自動除錯跟調整。所以目前不管燒錄技術或者初始化技術,其實,基本上使用者都已經免去很多要注意的問題了。相對的,程式設計者也因為版本的進化,理論上,應該是更加簡便,然而實際上,筆者在練習的時候,發覺有太多通訊協定的問題了,這很容易讓開發者處在迷霧當中....
嵌入式系統必須是要有可靠性的,如果系統長期不穩的情況下,可能就會發生短路的情形。筆者以個人的一個經驗來說明,數年前,筆者曾經購買一塊主機板,這塊主機板有通知要更新韌體,當然就按照指示進行更新,只是後來這塊主機板更新之後,電壓似乎常常出現異常的情形,很容易跳電,筆者也很擔心,若不注意可能會引起電線走火,那就糟了,不過,這家廠牌隔不到三天又提供了更新,解決了這個問題。所以嵌入式系統的可靠度相當重要,高效能或許是我們所追求的結果,只是不穩定的高效能,只要出差錯一次,大概就得一直重來,實際上,反而是穩定比較重要。
文中提及“目前嵌入式軟體,大部分都是燒錄在DDR或SDRAM上面”,似乎有點不正確,應該是燒錄在ROM, OTP, EEPROM或NOR/NAND Flash或SD記憶卡(其實這也是NAND Flash)上面,因為DDR或SDRAM一斷電就清空,是無法儲存程式的。
謝謝你! ROM、NAND FLASH等等過去的確是如此,但因為有些國外的書籍是寫DDR或SDRAM的方式再燒錄,我本來也存疑,因為RAM是斷電就抹去的方式,但是,因為我是看原文書上面所說的,我會再查查看,謝謝你的說明,我之後如果寫錯了,會更正,謝謝!